package lc09;

import org.junit.jupiter.api.Test;

/**
 * @Author Stringzhua
 * @Date 2024/3/28 13:45
 * description:数学的解法求回文数
 */
public class test02 {
    @Test
    public boolean isPalindrome(int x) {
        //如果输入的值小于0,则直接返回false
        if (x < 0) return false;
        //操作的临时变量
        int temp = 1;
        //如果数字求首位的值大于10,则扩大十倍
        while (x / temp >= 10) {
            temp = temp * 10;
        }
        while (x > 0) {
            //定义左边第一个数是数字的首位
            int left = x / temp;
            //定义右边的第一个数是数字的末位
            int right = x % 10;
            //判断左右是否相等
            if (left != right) {
                return false;
            }
            x = (x % temp) / 10;
            temp /= 100;
        }
        return true;
    }
}
